package com.hmdp.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;


@Data  //data 注解用于生成getter和setter方法，toString方法，equals方法，hashCode方法，
@EqualsAndHashCode(callSuper = false) //callSuper = false 表示不调用父类的equals和hashcode方法
@Accessors(chain = true)  //accessors 注解用于生成getter和setter方法，chain = true 表示可以链式调用
@TableName("tb_user")  //tableName 注解用于指定表名,如果不指定表名，默认表名就是类名,也可以全局配置前缀tb_
public class User implements Serializable {

    //在类的结构发生改变时保证其版本号一致  用于序列化和反序列化，序列化和反序列化是将对象转换成字节流，然后再转换成对象，序列化和反序列化是为了保证对象的完整性和安全性
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)  //指定id自增策略为自动增加
    private Long id;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * 密码，加密存储
     */
    private String password;

    /**
     * 昵称，默认是随机字符
     */
    private String nickName;

    /**
     * 用户头像
     */
    private String icon = "";

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;


}
